perm filename NSF.J[DOC,TOB] blob
sn#067530 filedate 1973-10-16 generic text, type T, neo UTF8
00100 ABSTRACT
00200
00300
00400
00500
00600
00700
00800
00900
01000
01100
01200 The Stanford Artificial Intelligence Laboratory proposes to undertake
01300 a program in advanced automation over a period of one year at a cost
01400 of $200,000. The laboratory proposes a three or four year
01500 investigation, with one year funding, in the area of computer
01600 integrated assembly systems. This project unites two dominant
01700 forces in industrial automation: computerization of manufacturing
01800 and programmable assembly automation.
01900
02000 Extensive industrial and governmental studies and consultation have
02100 guided the concepts of this proposal. Several industrial needs have
02200 emerged from studies now underway. One is a widespread desire of
02300 major industries for programmable automation. Another is the desire
02400 to cut costs by better overall organization and understanding of the
02500 manufacturing process, using computers as a tool for organization and
02600 information gathering.
02700
02800 The proposed project would study assembly systems from two
02900 directions. The first is a "top-down" study including problem
03000 definition, characterization of descriptors of objects and assembly
03100 operations, automated assembly planning, simulation to aid design for
03200 assembly, and APT-like language design for assembly. The second is
03300 an evolutionary and constructive effort based on demonstrated
03400 abilities, adding incrementally to our existing system. We feel that
03500 our system and proposed extensions are valuable examples for systems
03600 useful in industry. We maintain that any system study must be based
03700 on a planned series of experiments which demonstrate the feasibility
03800 of key modules in the system, and the adequacy of the combined
03900 system.
00100
00200
00300
00400
00500
00600
00700 TABLE OF CONTENTS
00800
00900
01000
01100
01200 I NATIONAL AND SOCIETAL NEEDS
01300
01400 II RESEARCH PLAN
01500 II.A THE ASSEMBLY SYSTEM
01600 II.B WHAT HAS BEEN DONE
01700 II.C WHAT WE PROPOSE TO DO
01800
01900 III MANAGEMENT PLAN
02000 III.A SCHEDULE
02100 III.B MILESTONES
02200
02300 IV RELATED PROGRAMS AT THIS LABORATORY
02400 IV.A PAST RESEARCH IN VISION
02500 IV.B CONTINUING VISION RESEARCH
02600 IV.C MANIPULATOR DEVELOPMENT
02700 IV.D SYSTEM REQUIREMENTS
02800
02900 V RELATED PROGRAMS IN OTHER ORGANIZATIONS
03000
03100 VI UTILIZATION PLAN-DISSEMINATION OF RESULTS
03200 VII APPENDICES
03300
03400 VIII VITAE AND BIBLIOGRAPHIES
03500
03600 IX CURRENT SUPPORT
03700
03800 BUDGET
03900
04000 REFERENCES
00100 I. NATIONAL AND SOCIETAL NEEDS
00200
00300
00400 The contributions that advanced automation can make to enhance
00500 productivity in manufacturing are now widely appreciated. Current
00600 interest in advanced computer-oriented automation stems from two
00700 sources. The first is the decreasing cost of computation combined
00800 with an improved understanding of how to apply computation to various
00900 aspects of manufacturing. The second cause is the realization that
01000 many current manufacturing operations, primarily assembly and
01100 inspection, will require complex automation methods which are now
01200 research techniques. The same considerations apply to the automation
01300 of tasks such as laboratory and medical procedures, but the emphasis
01400 has been (as ours will be) on manufacturing. A recent ARPA-sponsored
01500 study [Anderson 1972] in which we participated suggests the following
01600 major benefits from advanced automation:
01700 improved national productivity
01800 reduced prices
01900 increased product quality and uniformity
02000 customization of products
02100 increased job satisfaction.
02200 We would like to add just one comment. As we have seen with other
02300 technological developments such as numerical-controlled tools, there
02400 will be things made which were previously impractical to make. There
02500 is widespread agreement in the technical, industrial and government
02600 communities on the potential benefits of advanced automation. There
02700 is much less agreement on the level of sophistication needed in
02800 automation hardware and software. While there are large application
02900 areas in which specially constructed machines or simple general
03000 purpose devices will prove optimal, we believe that the most
03100 practical solution for intermediate quantities (500 to 100,000) will
03200 be to develop general purpose assembly and inspection devices
03300 controlled by sophisticated programs in digital computers.
03400
03500 These conclusions are supported by our consultation with industrial
03600 management who have manufacturing responsibilities. Programmibility
03700 is necessary even in the automobile industry which has large volume,
03800 but essentially custom assembles each car. This has been repeatedly
03900 emphasized in workshops and private conversations.
04000
04100 Another conclusion is that the process of improving the organization
04200 of manufacturing can make heavy use of computer systems.
04300 Computer-aided design is already in heavy use in semiconductor
04400 industries, and making a beginning in other industries. Inventory
04500 and parts tracking are important facilities in the aircraft industry.
04600 Direct numerical control of several N/C machines by a central
04700 computer is also extensively used. Some effort has been directed in
04800 Europe towards the "group technology" approach of Opits, which
04900 attempts to emphasize commonality by using parts descriptions to
05000 group items which are alike. Evolution of computer-aided
05100 manufacturing depends on integrating these facilities and bringing
05200 more facilities under effective control.
05300
05400 These two systems, programmable automation and computer-aided
05500 manufacturing,interact in a beneficial way. An important part of the
05600 development process for programmable automation is the development of
05700 programming systems which actually program assembly devices. Part of
05800 that can be done by "learning by doing". However, many operations
05900 are only small modifications of other operations, so that it is
06000 desirable to be able to modify the assembly program instead of
06100 reprogramming entirely. It would appear that most assembly
06200 operations could be strung together from modifications of modules
06300 from a library of standard assembly subroutines like inserting and
06400 screwing. Inspection combined with assembly (which is made necessary
06500 for quality control and because of the implicit inspection in
06600 assembly operations) and error and contingency conditions lead to an
06700 assembly control structure like a conventional computer program.
06800
06900 The central computer will have parts designs and assembly operations.
07000 Why should these not be used to supply information to assembly
07100 subroutines? And should the designer have a system which allows him
07200 to design for automatic assembly by interacting with the system which
07300 programs the actual assembly device? That would provide a useful
07400 experimental system for cost and design automation, in addition to
07500 shifting some of the responsibility for programming of assembly
07600 devices from assembly labor to professional staff with technical
07700 sophistication. We emphasize the separation into an assembly system
07800 which could operate stand-alone, but is better interfaced with a
07900 central computer system, and the robot programming system which
08000 depends on more facilities but is used infrequently when jobs are
08100 changed.
08200
08300 There is one further concept in common among presentations of
08400 automation. Automation must be incremental. This is supported by
08500 numerous considerations: invested capital in existing plants, design
08600 costs for conversion, and the necessity for a sequence of
08700 understandable and predictably profitable steps along the path.
08800
08900 We contend that inserting programmable assembly devices incrementally
09000 into existing factories or new factories with only slight
09100 modifications, demands more from the programmable device. We see
09200 this process at work as industrial robots of the Unimate class slowly
09300 develop more facilities. The simple robot described in the ISI study
09400 [Anderson] does not exist yet; it must still be proven feasible by
09500 demonstration. We outline below some arguments about cost and
09600 productivity factors which follow from programmable assembly. These
09700 arguments follow from compatibility with current manufacturing
09800 design, from economies of scale, and from commonality of technology,
09900 and from desires for quality of product and predictability of the
10000 process. Several studies have indicated some priorities among
10100 directions of automation. The ISI study [Anderson] indicates that
10200 less than 20% of discrete manufacturing is amenable to special
10300 purpose automation. A Chrysler Corporation study indicates that car
10400 assembly labor has first priority in automation; assembly plant
10500 direct labor is 40% of direct corporate labor. The ISI study quotes
10600 a figure of 75% as the fraction of batch produced discrete
10700 manufactures. One conclusion is that "the emphasis in development
10800 should be on simple vision devices and on low-bandwidth tactile and
10900 force sensing feedback". That study indicates that the assembly
11000 process typically accounts for 50 percent of production cost.
11100
11200 We assume that present manipulators have a small but stable market,
11300 and that most will have minicomputers soon (Sundstrand does now).
11400 Will the incremental cost of touch, force and visual sensors be
11500 offset by the opening of new capabilities, and will the cost be
11600 offset by reduced cost of system design for machines which allow
11700 loose alignment tolerances? We estimate that touch and force sensing
11800 will add about 5% to the price of current manipulators of the Unimate
11900 class. We estimate that by 1977, the incremental cost of visual
12000 sensors, a laser ranging device such as we use now,and additional
12100 memory requirements, will add about 15%-20% to current manipulator
12200 prices. If labor costs continue to rise, part of the increase will be
12300 offset, but cost comparisons will not change appreciably over that
12400 time scale unless significant new mechanical designs are made. A
12500 conclusion is that sensor-equipped robots will be available at slight
12600 additional cost. We will discuss the benefits of incremental
12700 improvements to manipulators.
12800
12900 We do not expect mechanical production costs to drop as dramatically
13000 as electronics costs fall with integration. The most promising cost
13100 reduction development would be high-production standard modules such
13200 as robots. As an example, consider the Stanford arm; produced in
13300 unit quantity, parts, manufacturing and assembly costs are
13400 approximately $10K. The arm is much simpler than an automobile; there
13500 is no reason why it should cost more. A smaller, more recent design
13600 costs $3500 each in quantities of two.
13700
13800 At what cost are robots economically viable? This varies enormously;
13900 if they are serving a large and expensive machine, the cost can be
14000 relatively high. Unimation now projects labor costs at $22,000 to
14100 $24,000 per man year averaged over the next 10 years, and assumes a
14200 payoff of 2 years for a projected acceptable cost level of $46,000. A
14300 robot with two arms, minicomputer control, force and touch sensors
14400 could be constructed for under $10K in quantities of 1000 now. To
14500 summarize: two arms (new small Scheinman design) $2000 with hand; arm
14600 drivers and arm interface electronics $1000; force and touch $800;
14700 small computer 8k memory $4500; total $8300. Assuming that the
14800 computer price falls to $1200 by 1978, this will at least compensate
14900 for inflation. Of course, these are small arms, suited for parts
15000 assembly, not automotive body assembly. The larger arms, assuming
15100 slight redesign for cost, would cost about $2500 in units of 1000,
15200 for a total system cost (not price) of $12300. This is the range of
15300 price of present transfer machines which have limited market because
15400 they have limited motion, no control, and are thus locked out of the
15500 economy of scale. There is a dynamic which leads to economy of scale;
15600 the greater the versatility, the wider is the market for
15700 applications. This will be true particularly in small production and
15800 job shop operations which have been difficult to automate. The
15900 larger the production, the more versatility for the same initial cost
16000 as special devices. Also, with high volume, standardization of
16100 maintenance, and availability of parts and service are improved. The
16200 quality of the device is also improved.
16300
16400 The economies of scale in production of assembly modules are matched
16500 by economies of intellectual scale in development of design for
16600 automation. The design process is modularized and easily
16700 communicable; there is a common discipline which can be widely
16800 absorbed; developments of many sources can be integrated. Programming
16900 and training done once for one machine can be transferred to all
17000 machines in a plant, and even transferred nationwide. Functional
17100 modularity has been emphasized in our studies. Modularity is clearly
17200 possible and there is a powerful economic incentive to assemble
17300 widely varying systems from one, two, or three arm modules, force and
17400 touch modules, vision and ranging modules, with planning and
17500 monitoring modules. This would also entail software modularity with
17600 computer-aided mechanical design and job specification for robots on
17700 a local or network time-sharing service.
17800
17900 The alternative is special design for each operation. We expect that
18000 at some point, design will be cheaper with standard robot modules
18100 than with special purpose designs, just as it is now more economical
18200 to use mini-computer controllers than special purpose controllers.
18300 Modularity has the potential to reduce design time and improve
18400 predictability of design time and costs, permitting better planning
18500 and response to competition. To some extent, the dehumanized
18600 industrial worker now fills the role of standard module, so that we
18700 do not expect discontinuous change. The continuity with decades of
18800 experience with design for human versatility in assembly can be
18900 relied upon; robots with some versatility, sensing, contingency
19000 actions, and dexterity will provide a transition to newer schemes
19100 which will evolve more slowly. Another advantage of general purpose
19200 techniques is the ease with which the size of the robot can be scaled
19300 up or down. There appears to be no difficulty in making very large or
19400 very small assembly stations which use essentially the same programs.
19500
19600 Versatile assembly devices have an efficiency advantage in medium
19700 scale and job shop production; their utilization efficiency can be
19800 higher because versatility allows a variety of operations to be
19900 scheduled at one station. The availability of computers for
20000 production scheduling will allow the flexibility to be used to
20100 advantage. Robots would also have longer life over which to amortize
20200 costs, since they could function with greatly changed production
20300 operations, and evolve with new hardware and software modules. They
20400 would have higher reliability, since they would have monitoring,
20500 contingency action, and error recovery. They would be self-aligning,
20600 self-calibrating, and self-testing.
20700
20800 With simple devices, inspection and assembly operations must be
20900 broken down into small operations with transfer operations between.
21000 This introduces extra transfer devices with orientation-preserving or
21100 re-orienting steps, and overlapping operations which can be combined
21200 in an advanced device. The extra cost of jigs and fixtures, and of
21300 stopping assembly lines adds to the cost of special purpose
21400 automation. Robots can cut down on real estate, since several
21500 operations can be done at one station.
21600
21700 Because of the adaptibility of work stations, production runs can be
21800 smaller, with less capital tied up in inventory and unused machines.
21900 There can be better response to the needs of high technology industry
22000 which often requires small quantities. There has been difficulty in
22100 meeting the tight tolerances necessary for operation of
22200 non-intelligent devices. It is hard to estimate the value of systems
22300 which work within current industrial tolerance, rather than requiring
22400 radical improvements in engineering practice, but that continuity
22500 does seem important.
22600
22700 Serious issues arise in the development of robots with simple sensory
22800 systems. Some evaluation issues should be settled by demonstration,
22900 since much sharper analyses can be made this way.
23000
23100 There is already a significant degree of industrial involvement in
23200 computer-aided assembly. GM Research Lab has demonstrated a wheel
23300 mounting operation using visual alignment. IBM has a small robot
23400 project. Hitachi has demonstrated a robot with touch and a system
23500 with visual identification of objects on a conveyor belt, with visual
23600 control of manipulation. Can industry be expected to adequately
23700 support this development? Development of primitive robots is an
23800 evolutionary process, not a single product development. The area is
23900 too big; the payoffs are huge and the investment level is large.
24000 Also, traditionally, industry has been dependent on suppliers. But
24100 with the exception of IBM, the suppliers are smaller and less able to
24200 risk the development. Management techniques require inordinate
24300 return on capital. An alternative support could come again from the
24400 military. The ARPA study and the history of numerical controlled
24500 machine tools are natural consequences of the vast military
24600 procurement in technologically advanced products. In the case of N/C,
24700 funds could be diverted from an outmoded technology to development of
24800 devices which were essential to production plans for the future. It
24900 is high technology products which are most competitive
25000 internationally in the civilian economy. The record of government
25100 investment in numerical control, solid state electronics, computers,
25200 and electro-optical devices has been very productive. However, in
25300 large scale development of civilian products and international
25400 markets, foreign governments have taken the lead. The development of
25500 general purpose assembly devices will benefit manufacturers in a
25600 broad spectrum of industry, particularly medium scale manufacturing.
25700 It is an appropriate area for governmental action to help meet a
25800 national need.
25900
26000 Given sensor-equipped robots at little extra cost over current
26100 senseless robots, they will have visual ability to sense color,
26200 strong contrasts in brightness, recognize known objects from two
26300 dimensional outlines (top view of flat object) or three dimensionally
26400 using depth, to a certain extent they will be able to recognize three
26500 dimensional objects using monocular recognition. They will be able
26600 to visually align mating parts in assembly operations, increase
26700 reliability by self- calibration and flaw and disaster detection, and
26800 permit large tolerances in parts transfer, even permitting parts to
26900 be taken from a bin. Several of these abilities are not yet
27000 available in the laboratory, but with known conditions and objects,
27100 and some engineering (e.g. color coding) are achievable within the
27200 time span of the proposed project.
27300
27400 The major determinant of the economic impact of assembly robots will
27500 be the extent of their capabilities. Assessing and extending these
27600 capabilities is the principal goal of the proposed project.
27700
00100 FIGURE 1: PUMP ASSEMBLY LAYOUT
00200
00300 A. ARM
00400 B. GASKET
00500 D. PALLET
00600 E. POWER SCREWDRIVER
00700 F. TOOL STAND
00800 G. HOLE IN TOOL STAND FOR PIN
00900 H. SCREW DISPENSER
01000 I. PUMP COVER
01100 J. PUMP BASE
01200 L. STOP TO LOCATE PUMP BASE PLATE
01300 M. PLATE FOR PUMP BASE
00100 II. RESEARCH PLAN
00200
00300 II.A THE ASSEMBLY SYSTEM
00400
00500 An assembly system is not just a programmable assembly device,
00600 important as that is at this stage of evolution. From an overall
00700 standpoint, the biggest problems in automated assembly are system
00800 problems. We suggest two main facilities of an assembly system that
00900 relate to the total factory automation system: a) design of products
01000 for automated assembly; as described above, many assembly problems
01100 can be simplified enormously by design especially for the abilities
01200 of automated assembly systems. b) programming of assembly devices for
01300 new tasks.
01400
01500 Our experiments in assembly lead us to suggest a form for a general
01600 assembly system, a mini and maxi system. The mini system is a small
01700 configuration minicomputer-based assembly station (possibly stand
01800 alone) tailored to a task by a choice of arm and vision modules, both
01900 hardware and software. The maxi system is to reside in a factory
02000 central computer which handles scheduling of resources, design,
02100 communication, routing and tracking of parts, etc. The maxi system
02200 interfaces the assembly station with the central computer and
02300 provides the capability for convenient design for automated assembly
02400 and convenient reprogramming of the assembly station for new tasks.
02500 The maxi system takes advantage of design information in the central
02600 system and large file system, graphics, and problem-solving
02700 languages. Its use is shared among many machines since reprogramming
02800 is done at intervals, only when tasks are changed. The mini system
02900 is low cost, yet its behavior can be pre-planned and optimized by the
03000 maxi system, utilizing intelligent and efficient planning.
03100
03200 We suggest that programming robots requires an ease of communication
03300 with the system that depends upon advances in strategy modules for
03400 assembly, to raise the level of the language used. We also suggest
03500 that many system design problems will be simplified by providing
03600 facilities for product design for assembly. The designers can
03700 interact with the system which programs the assembly device, and with
03800 the aid of simulation modules, find out which operations are critical
03900 or impossible.
04000
04100 The essential parts of the system are: a) representation
04200 (descriptors) of shape and assembly operations. b) Interactive
04300 systems including graphics. c) Strategies which allow generality. d)
04400 Description of the assembly process in terms of program elements. e)
04500 Arm and vision software and hardware modules.
04600
04700 II.B WHAT HAS BEEN DONE
04800
04900 In brief, we have demonstrated in an assembly task some simple visual
05000 operations combined with a general system for programming a
05100 manipulator controlled by force and touch sensing. The manipulator
05200 was designed and built according to software requirements based on
05300 our earlier experience. We have made significant progress in
05400 defining descriptors for assembly.
05500
05600 Our previous work on representation of shape of complex objects for
05700 visual description and recognition provides a strong background for
05800 study of descriptors of objects and operations for assembly. The
05900 representation is based on a part/whole segmentation of objects into
06000 parts. The choice of parts is crucial; in our representation, the
06100 parts are volume parts defined by cross sections along a space curve
06200 axis. That representation of primitive parts is based on a formalism
06300 "generalized translational invariance". Descriptions within that
06400 representation can be constructed symbolically, or with some
06500 modification to the geometric editor GEOMED [Baumgart 1972a]. These
06600 descriptions can now be displayed by the display program OCCULT
06700 [Baumgart 1972b]. The ease with which we can generate models of
06800 objects and the ability to obtain symbolic information with display
06900 techniques are strong points of our graphics techniques.
07000
07100 Some of the preliminary efforts have been made in automating strategy
07200 generation. The language design efforts have produced new language
07300 features, such as those in SAIL [Feldman 1972]. Considerable
07400 discussion and experience have been gained by a course and research
07500 efforts using those language features.
07600
07700 Our first major task was assembly of an automobile water pump. A
07800 film which shows the process in detail is available for distribution.
07900 We describe the task in some detail to show the level of programming
08000 the system and the level of ability of the programmable device.
08100 Figure 1 shows a drawing of the assembly layout with pump base,
08200 cover, gasket and screws. We have chosen a plausible industrial
08300 environment with tools in fixed places, screws in a feeder, and pump
08400 body and cover on a pallet. The pump body is mounted on a plate,
08500 which can be placed anywhere on the table, since it is located by
08600 vision. Then it is moved to a standard position determined by stops.
08700 Pins are inserted into screw holes in the pump body to guide
08800 alignment of gasket and cover; if necessary the hand searches to seat
08900 the pins. The gasket is placed over the guide pins and visually
09000 inspected for correct placement. The cover is expected to be within
09100 about a quarter of an inch of its fixed place on the pallet. After
09200 locating the cover by touch, the hand places the cover over the guide
09300 pins. The hand then picks up a hex head power screwdriver, picks up
09400 a screw from the feeder and inserts the screw; if necessary, the hand
09500 searches to seat the screw. A second screw is inserted. The hand
09600 then removes the two pins and inserts four more screws. Finally, it
09700 tests that the pump impeller turns freely.
09800
09900 Three forms of feedback are used, visual, tactile, and force. The
10000 visual feedback is provided by strictly special purpose programs
10100 which have no general interest. In a later section we show how we
10200 plan to generalize visual feedback capabilities and include them in a
10300 system like that used to program the rest of the task. The
10400 manipulation parts of the assembly were programmed in the Hand
10500 Language, HAL. The actual program follows:
10600 BEGIN PUMP
10700 ALIGN ;COMMENT ALIGN PUMP BASE AT STOPS
10800 PIN P1 H1 ;COMMENT PUT PIN P1 AT HOLE H1
10900 PIN P2 H2 ;COMMENT PUT PIN P2 AT HOLE H2
11000 GASKET
11100 TOP
11200 SCREW1 ;COMMENT PUT IN FIRST TWO SCREWS
11300 UNPIN H1 P1 H1A ;COMMENT REMOVE PIN P1 FROM HOLE H1
11400 UNPIN H2 P2 H2A ;COMMENT REMOVE PIN P2 FROM HOLE H2
11500 SCREW2 ;COMMENT INSERT LAST FOUR SCREWS
11600 TEST
11700 END
11800
11900 Each of the commands is a macro, an example of which is defined here.
12000 What follows is a Hand Language program to insert a pin in a hole.
12100 The position of the hand to pick-up the pin is refered to as P. This
12200 position is defined by moving the hand to the location of the pin and
12300 typing "HERE P"; the program then reads the current position of the
12400 hand and stores it in P ("learning by doing"). Similarly the
12500 position just above the hole where the insertion is to begin is
12600 defined by "HERE T". This is done with the pin in the hand.
12700 DEFINE PIN
12800 MOVE P ;GO TO THE PIN
12900 CLOSE 0.1 ;PICK UP PIN
13000 MOVE T ;GO TO THE HOLE
13100 SEARCH .07 ;SET SEARCH INCREMENT
13200 L1: MOVE T ;GO TO THE HOLE
13300 STOP [0 0 -50] ;SET UP STOP ON FORCE CONDITION
13400 CHANGE [0 0 -1] 0.6 ;TRY TO GO DOWN WITHOUT RESISTANCE
13500 SKIPE 23 ;SKIP IF NO FORCE ENCOUNTERED
13600 AOJ L1 ;ADD SEARCH INCREMENT AND JUMP
13700 STOP [0 0 -60] ;SET UP STOP ON FORCE CONDITION
13800 CHANGE [0 0 -1] 0.7 ;SHOULD MEET SOME RESISTANCE
13900 SKIPN 23 ;SKIP IF FORCE ENCOUNTERED
14000 AOJ L1 ;ADD SEARCH INCREMENT AND JUMP
14100 SAVE H ;REMEMBER WHERE HOLE ACTUALLY IS
14200 OPEN .5 ;RELEASE PIN
14300 CLOSE -.1 ;CHECK THAT IT IS STILL THERE
14400 OPEN 1 ;RELEASE AGAIN
14500 The pin should go into the hole without resistance, then encounter
14600 resistance. If it does not encounter resistance at the proper
14700 height, then the pin is off the pump body and the search resumes.
14800
14900 The most obvious form of programming robots is that in use with
15000 current industrial robots, "learning by doing". The robot is led to
15100 end points of a trajectory or along a path by an operator. As we note
15200 from the example shown, positions for the pump assembly were
15300 specified in that way. This facility is embedded in our general
15400 interactive language system, which is not special to the pump task.
15500
15600 "Learning by doing" techniques are limited to tasks with positional
15700 control only. Where force control is necessary, the control
15800 program must know in what way to control forces, i.e. what forces to
15900 exert or null along which direction vector. For example, in
16000 inserting a rod into a hole, transverse forces should be nulled. Such
16100 tasks require specifying a trajectory with additional symbolic force
16200 control information. Since arm control will be primarily based on
16300 minicomputers in new designs, a a small interactive system such as we
16400 use is quite natural. For any task involving a sequence of such
16500 operations, the interactive system allows the operator to choose from
16600 a menu of operations and proceed step by step to assemble a sequence
16700 of these operations which have been verified. Checking the success
16800 of these operations could use simulation if necessary to avoid tying
16900 up a production machine. Useful modules like inserting a screw would
17000 be saved as macros so that subsequent programming sessions would be
17100 much simplified, dealing with combinations of such high level
17200 modules. The macros can have arguments, so that one basic operation
17300 can be used in a variety of situations, and further, our software
17400 allows modifying trajectories so that a planned trajectory allows
17500 considerable variation in execution, without replanning. The ability
17600 to transform positions and orientations means that an assembly
17700 programmed for one position and orientation can be performed anywhere
17800 in the working space without reprogramming. Ail these facilities
17900 exist in our interactive system for the hand.
18000
18100 What elements of the system are general or generalizable? We see the
18200 pin insert and screw insert as generally useful modules which depend
18300 on the search module which depends on lateral and vertical force
18400 feedback. The use of tools such as the power screwdriver, the
18500 screwfeeder, and guide pins are generally useful. In general, jigs
18600 are special purpose but often inexpensive. The operation of location
18700 and orientation by touch depended upon a general system facility, but
18800 required a special program for the special shape. The hand language
18900 and interactive system are general enough for a single arm.
19000
19100 There appear to be several evolutionary stages at which the
19200 production engineer can be aided greatly by assembly system software.
19300 The first is through a general programming language. The second is
19400 through the aid of model-based facilities and simple strategies which
19500 raise the level of language for the user. At this level, the system
19600 is probably acceptable to program, and allows use of the assembly
19700 system to simulate the assembly process as an aid in designing for
19800 automated assembly. At a later stage, much of the detail can be
19900 eliminated by strategy programs which accept commands at a high
20000 level, at least as high a level as an instruction manual.
00100 II.C WHAT WE PROPOSE TO DO
00200
00300 We discuss the next steps by considering the extensions to the system
00400 which would allow us to accomplish a task similar to pump assembly,
00500 and a much more difficult assembly task, assembly of a two stroke
00600 gasoline engine. We estimate that mechanical assembly of an
00700 alternator from palletized form would require only about ten hours
00800 reprogramming after building a jig to hold the bottom of the
00900 alternator. If parts were not palletized and vision were required,
01000 the special vision program would require several weeks programming.
01100 This emphasizes the importance of vision language system development.
01200
01300 Assembly of a two cycle gasoline engine is different and much more
01400 difficult. What new operations would be required? A vise, perhaps a
01500 universal vise, a sleeve to insert roller bearings and seals,
01600 manipulating a roller to apply liquid gasket material, universal
01700 joint and long shaft hex head drivers, aligning and inserting shaft
01800 keys, generalizing orientation and location by touch, improving touch
01900 and force sensing (particularly peripheral touch) and use of two
02000 hands. Programming a new operation of the complexity of inserting a
02100 screw and torquing it down requires of the order of eight hours
02200 programming.
02300
02400 How much is special purpose and how much general? Most of the
02500 additions we have just mentioned are general. Certain jigs and
02600 sleeves will be necessary, just as they are for assembly by humans.
02700 Most of the operations are of the form "put x into y"; they are
02800 special purpose to the extent that special ways of gripping are
02900 necessary to avoid obstacles. Initially, human interaction must
03000 specify those special grasping procedures, but with a second stage of
03100 development of obstacle avoidance modules and strategy modules, much
03200 of the difficulty can be eliminated.
03300
03400 These observations lead us to propose steps which will lead to a
03500 better understanding of the design of assembly systems. One effort
03600 includes:
03700
03800 Top-Down system design
03900 GOAL-DIRECTED, MODEL-DRIVEN SYSTEM
04000 characterize objects and assembly operations by descriptors
04100 (representation)
04200 problem definition of a class of assembly systems
04300 strategies and interactive system for automating programming
04400 of assembly operations in terms of our primitives
04500 APT-like language design
04600 gedanken assembly experiments and generalize requirements
04700
04800 We have seen that a general interactive language system adds
04900 considerable generality to a programmable assembly system. To
05000 greatly extend this generality and thus the ease of programming, the
05100 system should be model- driven. We already have one example of such
05200 a visual system in our laboratory, which has been used for two visual
05300 domains, outdoor roadside scenes and cardiac angiograms [Yakimovsky].
05400 Only a change of models, which were experimentally obtained by a
05500 learning system, was necessary to go to the second domain. There is
05600 work underway which combines goal-direction with a model-based
05700 system.
05800
05900 For this aim of generality, the investigation of representation and
06000 implementation of a wide range of examples of object descriptions
06100 within the representation should be carried out. These will be
06200 necessary for a system which produces strategies for programming
06300 operations in terms of plausible primitives, from input at the level
06400 of an instruction manual. Human interaction will be necessary for
06500 special problems.
06600
06700 It is clear that we must cycle a few times through top-down system
06800 design and evolutionary system building. That experience is the
06900 basis on which to design an APT-like language for assembly. Of
07000 course, there should be computer science inputs into the language
07100 design. Even good design from a system software standpoint could
07200 avoid some of the mistakes of APT.
00100 EVOLUTION OF SYSTEM
00200 select real experiments from gedanken experiments, based on
00300 generality of modules, economic significance,
00400 feasibility
00500 design and implement necessary modules
00600 incorporate and test system.
00700
00800 The examples above illustrate these procedures. In many cases, we
00900 cannot proceed far without design and implementation of tools and
01000 modules. For example, an important need is for hands with more than
01100 two fingers and greater dexterity than now possible. We don't really
01200 know what will be possible, how to characterize the behavior of such
01300 hands, how to program them. Attempts to characterize them may be
01400 optimistic and unrealistic. The situation may be different from that
01500 of machining parts, for which we expect current machines to be used
01600 for a long time to come, and for which much experience is available
01700 with machines and techniques. We must share efforts between a
01800 "top-down" design and an evolutionary effort producing an actual
01900 system to keep system design honest.
02000
02100 Our previous discussion provided motivation for important incremental
02200 extensions of our existing system, to two arms in coordination,
02300 obstacle avoidance, tools, improved touch and force sensing, and more
02400 general location by touch. Current work is involved with extending
02500 the hand progrmamming language to include more than one arm. Problems
02600 of synchronization and coordinated motion will be provided for. A
02700 module for obstacle avoidance in trajectory planning will be
02800 included. Later, the hand language will probably be the output
02900 language for a higher level language for manipulation,in which tasks
03000 such as inserting, testing, and mating will be expressible in a
03100 simple manner. We will generalize the operation of locating and
03200 orienting by touch, and improve the touch and force sensors.
03300
03400 To simplify and systematize the programming of visual feedback
03500 operations, an interactive vision language system will be designed
03600 and implemented. We plan that it resemble the hand language,
03700 embedding the useful set of visual operators in a convenient
03800 interactive system. It will be based on current design ideas,
03900 elaborated by a series of experiments. We intend eventually to
04000 automate programming of visual feedback, by using prediction of the
04100 projected appearance of edges and surfaces of objects from models,
04200 using our representation and symbolic display facilities. We will
04300 use these predicted curves as guides for a set of operators intended
04400 for finding a predicted curve in a small window of an image. This is
04500 one step toward broad generality, moving to a model-based system.
04600
04700 We will transfer our assembly system to include the mini system in a
04800 minicomputer which we are acquiring. There is the beginning of
04900 user's group sharing the same minicomputer (GM Research Lab, 3M
05000 Research Lab, JPL, and MIT Artificial Intelligence Lab). We can show
05100 the relevance of our research to low cost systems for industrial
05200 applications, by direct transfer of our research results to
05300 industrial observers and laboratories. Our hand language, arm
05400 control and arm trajectory planning software are suitable for a
05500 variety of arms, including the Unimate.
05600
05700 This system can be thought of as a model for a programmable assembly
05800 device. Each assembly station will include a minicomputer and
05900 manipulators with cameras combined as modules in a system to suit a
06000 given task. The software will be modular to accomodate varying
06100 hardware configurations. The minicomputer performs servo control and
06200 contingency actions for the arm, and elementary visual operations.
06300 Touch and force sensing operations will be included.
06400
00100 III. MANAGEMENT PLAN
00200
00300 The proposed research will be carried out by academic faculty,
00400 research staff and students of the Artificial Intelligence Laboratory
00500 Stanford University. The responsibility for planning, coordinating,
00600 and supervising the proposed work will be with:
00700 Prof Jerome Feldman
00800 Artificial Intelligence Laboratory
00900 Computer Science Department
01000 Stanford University
01100 Stanford, California, 94305
01200
01300 He will devote 1/6th of his time to this project.
01400
01500 The organization conducting the proposed research is:
01600 Artificial Intelligence Laboratory
01700 Computer Science Department
01800 Stanford University
01900 Stanford, California, 94305
02000
02100 Stanford University is a non-profit educational institution
02200 incorporated under the laws of the state of California.
02300
02400 The legal-fiscal agent is:
02500 Lester D. Earnest
02600 Artificial Intelligence Laboratory
02700 Computer Science Department
02800 Stanford University
02900 Stanford, California, 94305
03000
03100
03200 III.A SCHEDULE
03300
03400 The following schedule shows the approximate distribution of effort
03500 among the principal tasks:
03600
03700 Top-Down System Study 50% of effort
03800 Strategies
03900 Language Design
04000 Descriptors
04100 Gedanken Experiments
04200 Needs
04300
04400 Evolutionary System Building 50% of effort
04500 Visual feedback
04600 Arm Hardware
04700 Arm Software
04800 Task Execution
04900 Mini system
05000
05100
05200 The personnel involved are:
05300
05400 Prof J.A.Feldman will assume overall coordination, and guide design
05500 of the language for assembly.
05600
05700 Dr. T.O.Binford will guide development of the vision language and
05800 visual feedback for assembly, extend work in representation, and
05900 direct the top-down system study.
06000
06100 Dr. R.Paul will implement software for the second arm and
06200 coordination of two arms, will direct efforts in collision avoidance,
06300 and extend the hand language.
06400
06500 V.Scheinman will design and build tools, special hands and arms, and
06600 contribute to hardware study for the top-down study.
06700
06800 Prof. C.C.Green will guide efforts in strategies for the top-down
06900 study. (Prof Green will not be supported by the proposed contract.)
07000
07100 K.K.Pingle will provide system support and some implementation of the
07200 vision language primitives.
07300
07400 R.C.Bolles will perform an advanced assembly task as the first in a
07500 series of planned experiments.
07600
07700 R.H.Taylor will formalize a class of assembly tasks in terms of
07800 descriptors and obtain strategies in terms of assembly primitives
07900 from input at approximately the level of an instruction manual.
08000
08100 A third student will work on descriptors and the vision language.
08200
08300
08400 III.B MILESTONES
08500
08600 During the first nine months we will improve the problem definition
08700 and present a coherent structure for the following phases of the
08800 project.
08900
09000 After the first two thirds of the contract, we will understand and
09100 have solved the major problems in two hand coordination, and have
09200 operating software.
09300
09400 A class of easily-defined objects will be described in terms of our
09500 descriptors, and will be encoded for later strategy work.
09600
09700 At the end of the period, we will have a formalization and major
09800 progress on a strategy program which will go from language at the
09900 level of an instruction manual to a sequence of hypothesized
10000 primitive actions which seems adequate and plausible for execution of
10100 the specified task.
10200
10300 Significant sub-assemblies of a two-stroke gasoline engine will be
10400 reliably operating, using primitive versions of the hand and eye
10500 languages.
10600
10700 A primitive vision language will be operative, including correlation
10800 operators, hole detectors, and edge and curve matching.
10900
11000 A major part of the conversion to the mini system will be performed.
00100 IV RELATED PROGRAMS AT THIS LABORATORY
00200
00300 IV.A PAST RESEARCH IN VISION
00400
00500 Although we propose an entirely new direction for the laboratory,
00600 past and continuing research form an important background. Research
00700 in computer vision has progressed so that most of our effort is
00800 directed toward vision in real world scenes. We outline past
00900 research, including analysis of some outdoor scenes, interpretation
01000 of scenes with curved objects, work on visual feedback, development
01100 of useful modules, and a study of sensor systems.
01200
01300 In understanding outdoor scenes or in performing visual feedback
01400 operations for industrial environments, it is important to
01500 incorporate semantics for the individual problem domain and to
01600 provide simple ways of reprogramming for different problem domains. A
01700 working version of such a system [Yakimovsky] has been successful in
01800 segmenting and labelling regions in two different problem domains,
01900 outdoor scenes and cardiac angiograms. It was not difficult to go
02000 from outdoor scenes to angiograms; some changes were made in the
02100 region descriptors, but the major changes were made in the world
02200 model by an interactive learning process from sample pictures. The
02300 system sequentially merges regions with the weakest boundary first.
02400 In initial steps it proceeds without semantics. Then, with an
02500 intermediate number of regions, it estimates the best interpretation
02600 using a world model of two-dimensional image properties. A linear
02700 evaluation of interpretation includes not only region properties in
02800 isolation (i.e. sky is blue) but the properties of its boundary with
02900 other regions (sky is brighter than trees). This is a "first-order
03000 semantics" of relations. From analysis of some examples, the system
03100 performs much better with semantics than without.
03200
03300 Understanding outdoor scenes is a more complex task than many
03400 industrial visual operations, but it has utility for planetary
03500 exploration; it is also a useful exercise for developing color,
03600 texture, and stereo operations. Bajcsy analyzed outdoor scenes with a
03700 combination of color and texture region analysis [Bajcsy 1972]; depth
03800 cues were taken from the gradient of texture. An attempt was made to
03900 obtain consistent interpretations by making three dimensional
04000 interpretations, and confirming boundaries by independent properties.
04100 Natural objects and natural scenes have been used for our work with
04200 motion parallax [Nevatia in draft] and stereo vision
04300 [Quam,Hannah].These are complementary techniques of depth perception.
04400 Motion parallax can be used for planning of navigation and
04500 characterizing large scale terrain features, since it provides large
04600 baselines.
04700
04800 Our past work on visual feedback [Gill 1972] in stacking blocks and
04900 inserting objects in holes is directly relevant to vision for
05000 assembly. The issues involved are: coordinating hand and eye,
05100 utilizing incremental accuracy of vision and manipulation, accurate
05200 prediction to limit search, and limiting accumulation of errors.
05300 Visual guidance in picking up objects and stacking or inserting
05400 objects overcomes errors in the visual and arm coordinate systems,
05500 and errors in correspondence between the two coordinate systems. This
05600 was done under realistic conditions, with the hand still holding the
05700 object and in view; the system predicts the appearance of edges and
05800 corners within a small window around the edges to be aligned, and
05900 uses a corner/edge finder to determine alignment error. The arm makes
06000 accurate incremental error correction. If predictions can be made
06100 accurately, the search window can be small, which increases the speed
06200 of response and decreases possibility of confusion with other areas
06300 of the scene. A major limitation to accuracy of prediction (and to
06400 long-term reliability in the industrial environment) is drift of
06500 calibration. That work incorporates calibration updating by
06600 self-calibration to coordinate hand and eye coordinate systems and
06700 provide for reliability, as well as to limit search by accurately
06800 predicting expected features. Visual feedback with stereo vision is
06900 much more powerful than without; we have demonstrated stereo visual
07000 feedback in a program [Binford unpublished]. A corner finder for
07100 visual feedback with polyhedra has been developed which is able to
07200 function well under realistic conditions of low contrast, with more
07300 complex backgrounds [Perkins].
07400
07500 Another aspect of vision with direct application to industrial
07600 environments is explored in our work with curved objects. Current
07700 programs use depth information to make useful descriptions of objects
07800 like a doll, a toy horse, a snake, or a glove [Agin]. Programs can
07900 segment these objects into parts like legs, arms or fingers, and link
08000 these parts together to form descriptions of entire objects
08100 [Nevatia]. These operations are precursors to a recognition process.
08200 The work depends on a new representation of shape [Binford 1971] in
08300 terms of volume components and a part/whole segmentation. Primitive
08400 parts are described by an axis which is a space curve, and normal
08500 cross sections along the axis. The representation is based on a
08600 formalism, "generalized translational invariance". There are
08700 significant theoretical reasons why this representation leads to a
08800 natural choice of parts by simple procedures, in distinction to other
08900 suggested representations. We developed a laser ranging device
09000 [Binford 1970,Agin] which was operational two years ago. It is
09100 particularly interesting that the device adds a cost of only about
09200 $400 to the cost of a visual system.
09300
09400 We have a set of visual modules to be used in a goal-directed way.
09500 These modules answer questions which arise in practical visual
09600 feedback tasks, and in analysis of outdoor scenes. Are there color
09700 edges in a selected window? Are there edges in brightness? What is
09800 the color of the region in the window? Several preliminary color
09900 region analysis programs have been developed [Binford, unpublished,
10000 Bajcsy 1972]. An edge operator [Hueckel 1969] and a region-based
10100 corner/edge finder [Gill 1972] both operate on small windows of the
10200 scene, as directed by a higher level. An edge verifier is used to
10300 confirm or reject edges predicted from context [Tenenbaum 1970].
10400 Color identification has long been demonstrated. Recently, a program
10500 has been implemented [Thomas unpublished] based on Land's Retinex
10600 model of color constancy in vision, which defines a color triangle
10700 from ordering of brightnesses. The center of the triangle is
10800 designated as white. The program shows a color constancy similar to
10900 humans; table top scenes are assigned colors reasonably well under a
11000 variety of lighting with different spectra: sunlight, flourescent,
11100 and incandescent.
11200
11300 A study of visual and depth ranging sensors has been carried out
11400 which provides a background for choosing sensors and interface, and
11500 making cost estimates [Binford 1972, Earnest 1967]. We have
11600 maintained a calibrated hand and vision system for several years
11700 [Sobel 1970], and have developed self-calibration techniques with one
11800 and two eyes [Yakimovsky unpublished, Hannah 1972, Gill 1972].
11900
12000 A system for understanding scenes of blocks from single views has
12100 been implemented [Falk 1970]; it segments objects, matches against
12200 internal models, predicts appearance from its assumptions, and
12300 searches for verification and contradiction based on the predicted
12400 image. Support and spatial relations are also obtained. There has
12500 been past work on programs to obtain line drawings as input to
12600 recognition systems. An earlier system was based on limited context
12700 of expecting continuation of edges at vertices and predicting missing
12800 edges in certain expected configurations [Grape 1970]. A more recent
12900 approach has been to use models within the process of generating line
13000 drawings, so that the most efficient next guess can be made and
13100 context used intrinsically in the formation of line drawings [Grape
13200 1973].
13300
13400 IV.B CONTINUING VISION RESEARCH
13500
13600 While continuing research activities are not to be supported by the
13700 proposed project, in all likelihood, the research will suggest useful
13800 programs for the assembly system, particularly work in recognition of
13900 complex objects using depth data. The computer now has symbolic
14000 internal models of objects. We are now in a position to recognize
14100 objects such as a glove, a hammer, etc. We will immediately deal
14200 with matching descriptions for recognition. The important extensions
14300 we wish to deal with are occlusion and access to a large visual
14400 memory. These will involve matching of partial descriptions and
14500 encoding of partial descriptions as indices to a small class of
14600 similar shapes, which can then be compared in more detail. We are
14700 working toward making the hardware stable enough that it can maintain
14800 calibration, and software streamlined so that the depth measurement
14900 system can be integrated with other hand/eye facilities. We intend
15000 to apply large parts of our programs for description and recognition
15100 of curved objects using only monocular intensity information. This is
15200 a much harder problem, but within our representation, shares much of
15300 the same code, and relies on the same conceptual basis of local
15400 three-dimensional models.
15500
15600
15700 There is a growing effort on navigation of vehicles in outdoor
15800 scenes. While this is not directly relevant to the industrial
15900 environment, it does reflect the growing involvement in complex
16000 visual tasks, and will lead to further development of an integrated
16100 visual system.
16200
16300 IV.C MANIPULATOR DEVELOPMENT
16400
16500 Manipulator research began at the Stanford Artificial Intelligence
16600 Laboratory in 1965 with the acquisition of a Rancho Orthotic Arm.
16700 This arm was interfaced in such a way that the computer could read
16800 the joint positions by means of potentiometers and drive the arm by
16900 means of a voltage, pulse rate modulated signal for each joint. Two
17000 solution programs were written: one to give the rectangular
17100 coordinate position of the hand knowing the six joint angles, and one
17200 to give the joint angles knowing the desired x,y,z position and
17300 orientation of the hand. These programs were then combined with a
17400 servo program to move the hand.
17500
17600 The servo program represents two key concepts of all subsequent
17700 manipulator research at this laboratory: 1) To provide a digital
17800 computer with all sensory inputs, initially joint positions, but
17900 later velocity, force and touch measurements. 2) The utilization of a
18000 programable digital computer to take the sensory inputs and to
18100 provide basic control output to the manipulator, in our case joint
18200 torque. Initially the sensory input of joint angles was to provide a
18300 position servo with a sampling rate of 60 cycles per second. The arm
18400 control has been changed many times since, a simple task in the case
18500 of a program, but difficult in the case of a hard wire servo system.
18600 This system was used by Wichman, Pingle and Singer in 1968 to provide
18700 a program which could pick-up, sort and stack blocks, and in a first
18800 attempt at visual feedback.
18900
19000 At this time Pieper considered the kinematics of manipulators and
19100 developed a classification scheme for all possible arms and their
19200 analytic solvability. He concluded his work by implementing a
19300 trajectory based collision avoiding program. Although slow, this work
19400 demonstrated the need for trajectory control of the arm.
19500
19600 Kahn followed Pieper with a study of the dynamics of manipulators and
19700 developed a "bang-bang" servo for a new hydraulic arm. This arm,
19800 still at the laboratory, was developed as a high performance
19900 manipulator.
20000
20100 By 1970 a general purpose program capable of manipulating plane faced
20200 bodies was implemented. This program was used in the initial version
20300 of the "Instant Insanity" program where all possible reorientations
20400 of the four colored cubes were required in the puzzle solution.
20500
20600 Our present arm, the result of a continuing design project, replaced
20700 the Rancho Arm in 1970. This arm, like its predecessor is controlled
20800 by a digital servo program running under the time sharing system. The
20900 new arm was used in the "Instant Insanity" demonstration in 1971.
21000
21100 As this arm is driven by electric motors through high efficiency gear
21200 reductions it is possible to predict the torque exerted at each joint
21300 in terms of drive level. Based on kinematic analysis it is possible
21400 to calculate the joint torques necessary to produce a given force at
21500 the hand. Further, for the hand to exhibit degrees of freedom of
21600 motion, various joints are selected to be "free," that is, to have no
21700 position feedback applied to them. By exerting a force at the hand
21800 and providing that certain degrees of freedom exist it is possible to
21900 perform a much wider class of tasks than simple positional control,
22000 for instance screwing in screws, mating parts, inserting tools and
22100 turning cranks.
22200
22300 Positional accuracy at the hand is typically 0.1 inches with
22400 repeatability of 0.02 inches. Force control at the hand is within 10
22500 ounces. The data rate to run the arm from an assembled arm program is
22600 of the order of 100 bits/second.
22700
22800 Touch sensors on the fingers allow the hand to sense objects without
22900 disturbing them. When activated the arm will stop when any of the
23000 sensors touch. Branching arm instructions can test the state of the
23100 sensors and modify the execution of an arm program. When screwing a
23200 nut onto a bolt, for instance, the hand is first centered over the
23300 bolt by touching it.
23400
23500 A second arm of the same type, with only minor modifications, is
23600 currently being interfaced to the computer. Both arms will share a
23700 common work space and will be able to be used individually, or
23800 together for two-handed tasks. This should increase the scope of our
23900 manipulation work by some orders of magnitude. It may be possible for
24000 many assembly workers to work with their eyes closed but it would not
24100 be possible, in most cases, to work with only one arm.
24200
24300 Control of the arms is achieved by a series of high level
24400 instructions; these instructions may be executed directly, or may be
24500 assembled together into an arm program. Arm programs may then be
24600 executed, as desired, by the control program. The control
24700 instructions may be accessed directly by other programs, using the
24800 message procedure mechanism, or in the form of a symbolic source
24900 file.
25000
25100
25200
25300 IV.D SYSTEM REQUIREMENTS
25400
25500 A key element in the development of any large programming effort is
25600 the software support. There has been continual effort along these
25700 lines at the Stanford Artificial Intelligence Laboratory and many
25800 useful ideas have been developed. We propose to extend the research
25900 along two separate lines: support for research and system software
26000 for operating automated systems. We will briefly describe our past
26100 efforts in this area and what we propose to undertake.
26200
26300 The Stanford Artificial Intelligence Laboratory has pioneered in
26400 several areas of system programming, including timesharing systems,
26500 interactive graphics, and programming languages.
26600
26700 A great deal of additional effort has gone into direct support of
26800 hand-eye research. Very early, we established a set of standard
26900 formats and library routines [Pingle 72a]. A programming language,
27000 SAIL[Swinehart], was implemented in 1968. The language incorporates
27100 special features for large real-world-oriented problem solving
27200 systems and is currently in use at a number of Artificial
27300 Intelligence and other laboratories.
27400
27500 As we began to assemble larger and more sophisticated collections of
27600 programs, we felt a need for flexible mechanisms for cooperating
27700 sequential processes. The resulting monitor and language features
27800 [Feldman & Sproull 1971] have worked well for us and have been
27900 influential on other projects. Recently, we have added an
28000 additional set of features to SAIL to facilitate non-deterministic
28100 and event-directed programming[Feldman 1972]. The early reactions
28200 to this work, both within the laboratory and without have been very
28300 encouraging.
28400
28500 We expect relatively little work to be needed on further systems
28600 support for basic research. There will undoubtedly be efforts to
28700 take advantage of new hardware and of new programming ideas that may
28800 develop in the course of this program. Almost all of this work
28900 should be covered by other funding.
29000
00100 V. RELATED PROGRAMS IN OTHER ORGANIZATIONS
00200
00300 Major programs in programmable assembly devices with sensing are:
00400 1. Hitachi, Ltd, Tokyo, Japan
00500 2. Electrotechnical Laboratory, Tokyo,Japan
00600 3. Draper Laboratory, MIT, under James Nevins
00700 4. SRI, Menlo Park, Calif, under Dr. Charles Rosen
00800 5. IBM, Yorktown Heights, NY,under Dr. Peter Will
00900 6. GM Research Lab
01000 7. MIT Artificial Intelligence Laboratory,
01100 under Profs B.K.P.Horn and P.H.Winston
01200 8. University of Edinburgh, Edinburgh, Scotland with
01300 University of Nottingham, under Prof Donald Michie
01400 9. University of Rochester, Rochester New York, with Gleason
01500 Works, under Prof Herbert Voelker.
01600
01700 Hitachi,Ltd has performed important basic and applied research in robotics
01800 and computer perception including:
01900 a system which reads blueprints and constructs a structure
02000 from isolated parts, using vision
02100 a system which packs blocks into a tray, using touch sensing
02200 a system which recognizes objects on a conveyor from top view
02300 and which acts on them accordingly
02400 a system which locates faults in printed circuit boards, and
02500 which appears to be commercially attractive.
02600 Their current effort is in applied research for current problems, including
02700 corporate manufacturing problems.
02800
02900 Electrotechnical Laboratory, Tokyo, is a government laboratory performing
03000 basic research in robotics and computer perception, including:
03100 manipulator hardware and software development
03200 visual feedback for insertion
03300 recognition of polyhedra using depth data.
03400
03500 Draper Lab, MIT, has performed basic research in teleoperator control,
03600 and now has a collaborative effort with General Electric and Unimation
03700 to develop an adaptive, programmable modular assembly device with force
03800 sensing.
03900
04000 SRI has performed basic research in teleoperator control and robotics,
04100 including:
04200 control of a mobile robot, emphasizing problem-solving
04300 teleoperator control including touch and computer interfacing
04400 They now have a multi-client research contract for applied research in
04500 visual inspection from two-dimensional views (top view), and for
04600 visually controlled manipulation, using a Unimate programmable manipulator.
04700
04800 IBM has performed basic research in vision, and are now engaged in
04900 research in manipulation with sensory input.
05000
05100 GM has performed basic and applied research in vision, as demonstrated
05200 by a film showing the mounting of an automobile wheel, using visual
05300 We have close contact with all of these laboratories.
05400
05500 Artificial Intelligence Laboratory, MIT, has done basic and theorectical
05600 work in perception and manipulation including:
05700 perception of line drawings from symbolic input
05800 edge and region systems to obtain line drawings
05900 duplication of towers of blocks from single views.
06000 This fundamental work continues, supplemented by a research project in
06100 mini-robot systems.
06200
06300 The University of Edinburgh has performed basic research in vision and
06400 manipulation, demonstrated by a film showing assembly of a toy car using
06500 simple vision to identify parts.
06600
06700 The University of Rochester is engaged in basic research applied
06800 to discrete parts manufacture, addressing the problems of descriptors,
06900 needs, and formalizing the structure of systems for discrete parts
07000 manufacture.
07100
07200
07300
07400 It is of special interest to indicate the relation of our work to
07500 laboratories which have industrial clients, such as GM Research Lab,
07600 SRI and Draper Lab. Their contacts are a valuable source of
07700 information about industrial problems at the level of implementation
07800 with currently available techniques. Because of the ovelap of
07900 interests and techniques, a two way exchange is possible, since our
08000 research is considerably advanced beyond those projects and will map
08100 out solutions to problems to be faced in later phases of their
08200 projects.
00100 VI. UTILIZATION PLAN-DISSEMINATION OF RESULTS
00200
00300
00400 There are several other efforts, at varying levels of sophistication,
00500 in the area of computer controlled advanced automation. The Stanford
00600 Artificial Intelligence Laboratory is the oldest and largest of these
00700 and has provided the cutting edge of much of the development. We
00800 intend to continue this role and to lead in the development of a
00900 practical general purpose assembly system and the associated
01000 software.
01100
01200 All of the discoveries made under this grant will, of course, be made
01300 public. We view our role in information transfer in a much broader
01400 way. Having no desire to sell products and services and no clients
01500 with interests to protect, a university laboratory should be
01600 primarily a place for acquiring and spreading knowledge.
01700
01800 The Stanford Artificial Intelligence Laboratory has always considered
01900 information transfer to be one of its primary goals. In addition, to
02000 our published papers and reports, we have made a number of film
02100 reports which have been extensively circulated. There have been
02200 thousands of visitors, ranging from elementary school classes to
02300 major scientific, governmental and industrial missions from many
02400 countries. We have also encouraged extended visits by workers from
02500 other laboratories and from industry. Members of the laboratory staff
02600 have played a major role in the organization of journals, conferences
02700 and seminars in artificial intelligence. Many of our algorithms,
02800 systems, and hardware designs have been adopted by other groups. Our
02900 students are an important contribution to information transfer.
03000
03100 We have close contacts with SRI (several former students are employed
03200 there) and with Draper Lab, MIT. These laboratories, with industrial
03300 participants in their research programs, provide the right setting
03400 for transfer to industry. We have close contact with the computer
03500 science group at GM Research Labs.
03600
03700 A development of considerable interest is that five groups doing
03800 similar research have chosen the PDP-11 as a research minicomputer.
03900 We will have immediate relevance to members of this informal robot
04000 user's group. Our programs will be usable by members and any others
04100 who acquire the PDP-11. It would be advantageous for future
04200 purchases of minicomputers for automation research, that they be
04300 compatible with this group. Our efforts are exportable in a further
04400 sense; the arm servo and planning programs are applicable to a wide
04500 range of arms, to the Unimate in particular.
04600
04700 The success of the program proposed here depends heavily on
04800 interaction with industry. We will need additional information on
04900 the opportunities for automation and will try to involve manfacturers
05000 in the development of the pilot assembly station. We have good
05100 working relationships with a number of firms and we expect that a
05200 concrete project will help forge the bonds necessary for the transfer
05300 of advanced automation technology from the laboratory. During the
05400 initial proposed grant period, we intend to negotiate a cooperative
05500 relation with one or more firms.
05600
05700 One promising approach to technology transfer is a staff associates
05800 program. This involves residence of about a year's duration at the
05900 laboratory by industrial scientists. Such a program was used
06000 successfully at the MIT, Electronics Research Laboratory in the area
06100 of programming systems for numerically controlled tools and design
06200 automation. We have initiated a similar program in the laboratory
06300 (cf Appendix A) and are pursuing additional forms of cooperation.
06400
00100 Appendix A
00200
00300 The Stanford A.I. Lab has been engaged in research on
00400 advanced automation technology. Our work has progressed to the stage
00500 where we are seriously engaged in developing and disseminating
00600 practical applications. To do this effectively, we will need the
00700 help of industrial organizations with computer sophistication and an
00800 understanding of practical problems. One form of cooperation which
00900 we are engaged in is a staff associates program. A staff associate
01000 is a member of another organization in residence at the A.I. Lab. We
01100 have had a number of staff associates over the years, mostly from
01200 foreign countries. The enclosed letter from Japan is typical of the
01300 inquiries we receive. The purpose of the new program is to invite a
01400 few domestic inductrial organizations to submit candidates for the
01500 staff associates positions.
01600
01700 We expect to be able to have three to five staff associates
01800 in the laboratory at a time. The associate would remain for about a
01900 year and would be paid by his sponsoring organization. He would be a
02000 regular member of the laboratory staff, working on automation
02100 problems.
02200
02300 There are, of course, academic programs at Stanford which
02400 could also involve work at the Artificial Intelligence Lab. The
02500 staff associate program differs in that the selection criteria are
02600 different, the timing more flexible, and the expected time devoted to
02700 course work much less. We believe that it is the most effective
02800 mechanism for us to learn from and help industrial practitioners of
02900 computer-aided advanced automation.
03000
03100
03200 Jerome A. Feldman
00100 APPENDIX B
00200 TWO-CYCLE GASOLINE ENGINE ASSEMBLY
00300
00400 COMMENT PISTON-CRANK SUBASSEMBLY, RTV, BOLTING TWO HALVES;
00500
00600 COMPLETION OF THE PISTION-CRANK SUB ASSEMBLY;
00700 Place the piston and crank shaft subassembly in the vise
00800 (probably require higher sides on vise ... &/or fitted grips)
00900 Put the sleeve on the clutch side of the shaft
01000 Put the roller bearing on the clutch side
01100 Put the metal-rubber seal on the clutch side
01200 Take off the sleeve
01300 Put on the large ball bearing on the flywheel side
01400 (appears to be a heat fit ... would involve putting the
01500 bearings on a hot plate and using `hot pads' to pick them up)
01600 Put the metal-rubber seal on the flywheel side
01700 Take the piston, crank, and bearings subassembly out of the vise
01800
01900 APPLYING RTV TO THE CASING
02000 Place the cylinder head casting in the vise
02100 (another fixture for holding the case firmly, without
02200 damaging it ... or the paint job)
02300 (at this point may want to use vision or touch to determine
02400 the final orientation of the case)
02500 Pick up the RTV roller
02600 Roll the roller on the palette containing liquid RTV
02700 (need a dispenser which provides just enough for one
02800 application ... avoids the problem of deciding how much
02900 you have on the roller)
03000 Apply RTV to the joint of the casing
03100 Put down the roller
03200
03300 JOINING THE TWO HALVES OF THE CASING
03400 Pick up the piston-crank subassembly and dip the head of
03500 the piston in an oil bath
03600 Seat the piston-crank subassembly in the cylinder
03700 (this requires some WOBBLING)
03800 Place the bottom half of the casing on top of the cylinder
03900 head half (which now contains the piston and crank)
04000 (probably want to use 1 or 2 aligning pins)
04100 Pick up the screw driver power unit
04200 Attach the long-shafted driving parts
04300 (this means a socket extension rod and a deep socket)
04400 Screw in the four main case screws
04500 (need two hands and a torque wrench to torque these screws)
04600 Return the long-shafted driving parts
04700 Attach the extension rod and deep socket for the small screws
04800 Screw in the four small case screws
04900 Return the rod and socket
05000 Return the screwdriver power unit
05100
00100 COMMENT PUT ON THE CLUTCH, POINTS ASSEMBLY, AND FLYWHEEL;
00200
00300 PUTTING ON THE CLUTCH
00400 Put on the inside shim for the clutch
00500 (picking up one shim may be a trick)
00600 Put on the roller bearings for the clutch
00700 Put the clutch dish over the roller bearings
00800 Put on the outside shim for the clutch
00900 Put on the clutch subassembly
01000 (interesting because it goes inside the dish ... put
01100 it on the shaft and then push it on the rest of the way)
01200 Put on the nut to secure the clutch (left-handed threads)
01300 (again need long handled wrench to torgue this to the
01400 required 300 inch/pounds ... also need to hold on to
01500 the flywheel (when it gets on) because there is a
01600 left-handed nut on one end and a right-handed nut on
01700 other)
01800
01900 PUTTING ON THE POINTS SUBASSEMBLY
02000 Insert the aligning pin for the points assembly
02100 Put on the points assembly
02200 Screw in the first points screw
02300 Take out the aligning pin
02400 Screw in the second points screw
02500 Take out the feeler gauge tab (which cames as part of the
02600 points subassembly ... not sure this is going to work)
02700 (it is important to make sure the shaft is still
02800 rotated to the proper place ... visual check for slot?)
02900 Press on the cover to the points assembly
03000 (good reason to have fixture holding case on four sides
03100 because this will be a strong sideways force)
03200 Screw in the final points assembly screw
03300 Screw down the condenser
03400 (this is tricky because the wire holding the condenser
03500 has to be bent in just the right way (or use two hands)
03600 ... plus the screw has two washers (magnet hold them?))
03700
03800 PUTTING ON THE FLYWHEEL
03900 Insert the key for the flywheel
04000 (picking up the key is a problem (magnet which can be
04100 turned on and off ... needlenose fingers ... )
04200 Put on the flywheel
04300 (visually determine the orientation of the flywheel)
04400 (flywheel probably needs to be tapped on)
04500 Put on the nut to secure the flywheel
04600
04700 .
04800 .
04900 .
05000
00100 VIII VITAE AND BIBLIOGRAPHIES
00200 Brief Biographical Sketches
00300
00400 Jerome A. Feldman, Principal Investigator: Early training in physics
00500 and mathematics; Ph.D. in computer science from Carnegie-Mellon,
00600 1964. Two years at M.I.T. Lincoln Laboratory. At Stanford since 1966,
00700 leader of Robotics group since 1968. currently Associate Professor of
00800 Computer Science and Associate Director of the Artificial
00900 Intelligence Lab. Research interests include Robotics, associative
01000 processing, inductive inference, and Translator-writing systems.
01100
01200 Thomas O. Binford, Associate Investigator: Received PhD in physics
01300 from the University of Wisconsin, 1965, working with strange particle
01400 reactions, Regge pole and group theory phenomenology. Fulbright
01500 1965-66 Tata Institute of Fundamental Research, Bombay, India: phase
01600 shift analysis of strange particle systems; theory of unstable
01700 particles. At MIT Artificial Intelligence Project 1967-70, working
01800 on representation of shape, region-based analysis system and other
01900 areas of computer vision, systems programming for LISP. Lecturer in
02000 computer science at Stanford University. Research interests are
02100 computer vision, robotics, representation, and perception.
02200
02300 Richard P. C. Paul, Associate Investigator: Undergraduate work in
02400 Engineering Physics at McGill, Masters in Electrical Engineering and
02500 PhD in Computer Science at Stanford University. From 1963 at the
02600 Stanford Linear Accelerator Center as Electronic Engineer. At the
02700 Stanford A. I. Laboratory since 1966 and responsible for manipulator
02800 systems development since 1968. Research interests include Robotics
02900 and digital servo systems.
03000
03100 John McCarthy: BS in Math., Cal Tech, PhD in Math, Princeton, 1951.
03200 With Minsky, organized and directed the Artificial Intelligence
03300 Project at MIT. Joined Stanford as Professor of Computer Science in
03400 1962. Organized and directs the Stanford Artificial Intelligence
03500 Lab. Research interests include nearly all aspects of artificial
03600 intelligence, timesharing systems, mathematical theory of
03700 computation, and representation theory.
03800
03900 Victor Scheinman: Bachelor's in Electrical Engineering, M.I.T.,
04000 Engineer's in Mechanical Engineering from Stanford, 1969. Employed
04100 as a design engineer at Stanford, M.I.T., and Raychem since 1969.
04200 Responsible for the design and construction of computer controlled
04300 arms, as well as other Robotics equipment such as color-wheels, focus
04400 controls, pan-tilt heads, etc.
04500
04600 Lester Earnest: BS in Electrical Engineering, Cal Tech; MS in
04700 Electrical Engineering, MIT, 1960. Two years at MIT Lincoln
04800 Laboratory. Seven years at Mitre Corporation, ending as Head of
04900 Information Systems Department. At Stanford since 1965 as Executive
05000 Officer and Associate Director of the Artificial Intelligence
05100 Laboratory, Research Computer Scientist, and Lecturer in Computer
05200 Science. Responsible for administration and industrial liason.
05300
05400
05500
00100
00200 REFERENCES
00300
00400 [Alexander] Tom Alexander, "The Hard Road to Soft Automation",
00500
00600 [Anderson 1972] R. Anderson,"Programmable Automation, The Future
00700 of Computers in Manufacturing", Datamation, Dec 1972.
00800
00900 [Agin] G. Agin, "Description and Representation of Curved Objects",
01000 Artificial Intelligence Laboratory, Stanford University, AIM-134,
01100 October 1972.
01200
01300
01400 [Bajcsy 1972] "Computer Identification of Visual Texture"
01500 AIM-180,Artificial Intelligence Laboratory, Stanford University,
01600 October 1972.
01700
01800 [Baumgart 1972a] B. Baumgart, "GEOMED - A Geometric Editor", May 1972.
01900 SAILON-68,Artificial Intelligence Lab, Stanford University,
02000
02100 [Baumgart 1972b] Baumgart, Bruce G., WINGED EDGE POLYHEDRON REPRESENTATION,
02200 AIM 179,Artificial Intelligence Lab, Stanford University,October 1972.
02300
02400 [Binford 1972]"Sensor Systems for Manipulation", Conference on Remotely
02500 Manned Systems, JPL, Pasadena, Calif, Sept 1972.
02600
02700 [Binford 1971] "Visual Perception by Computer", Invited paper IEEE
02800 Systems Science and Cybernetics, Miami, Dec 1971.
02900
03000 [Binford 1970] T.O.Binford, "Ranging by Laser", Internal Report,
03100 Artificial Intelligence Lab, Stanford University, Oct 1970.
03200
03300 [Clowes] M.B. "On Seeing Things" AI Journal,1971.
03400
03500 [Earnest 1967] L.D.Earnest,"Choosing an eye for a Computer";
03600 AI Memo 51, Artificial Intelligence Lab, Stanford University, 1967.
03700
03800 [Falk 1971] G. Falk, "Scene Analysis Based on Imperfect Edge Data", Proc. 2IJCAI,
03900 Brit. Comp. Soc., Sept. 1971.
04000
04100 [Feldman 1972] with others,"Recent Developments in SAIL-An Algol-Based
04200 Language for Artificial Intelligence", (with others).
04300 CS 308, Stanford University, August 1972.
04400 To appear in Proc. Fall Joint Computer Conference, 1972.
04500
04600 [Gill] Gill, Aharon, Visual Feedback and Related Problems in Computer-
04700 Controlled Hand Eye Coordination, AIM 178,October 1972.
04800
04900 [Grape 1969] "Computer Vision through Sequential Abstraction",
05000 Artificial Intelligence Laboratory, Internal Report, 1969.
05100
05200 [Grape 1970] "On predicting and Verifying Missing Elements in Line-Drawings"
05300 Artificial Intelligence Laboratory, Internal Report, March 1970.
05400
05500 [Grape 1973] "Computer Vision through Sequential Abstraction"
05600 Thesis, Computer Science Department, Stanford University, 1973.
05700
05800 [Guzman] A. Computer recognition of three-dimensional objects
05900 in a visual scene. MAC-TR-59 (THESIS), Project MAC, Massachusetts
06000 Institute of Technology, Cambridge, Massachusetts, (December).1968.
06100
06200 [Horn 1971], B.K.P. "The Binford-Horn Linefinder" MIT Vision Flash 16.
06300
06400 [Hueckel] M.H. Hueckel, "An Operator Which Locates Edges in Digitized
06500 Pictures", Stanford Artificial Intelligence Laboratory AIM-105,
06600 December 1969, JACM, Vol. 18, No. 1, January 1971.
06700
06800 [Huffman], D.A. "Impossible objects as nonsense sentences" Machine
06900 Intelligence 6.
07000
07100 [Minsky 1972] "Artificial Intelligence Progress Report", AI Memo 252,
07200 MIT AI Lab, (1972);
07300
07400 [Nevatia 1973] R.K.Nevatia and T.O.Binford, "Structured Descriptions of
07500 Complex Objects", Submitted to Third IJCAI, February 1973.
07600
07700 [Paul] R. Paul, "Trajectory Control of a Computer Arm", 2nd
07800 International Joint Conference on Artificial Intelligence, 1971.
07900
08000 [Paul] R. Paul, "Modelling, Trajectory Calculation and Servoing of a
08100 Computer Controlled Arm", Ph.D. Thesis, Computer Science Dept.,
08200 Stanford University, Sept. 1972.
08300
08400 [Perkins] W.A.Perkins and T.O.Binford, "A Corner Finder for Visual
08500 Feedback", to be published in USA-Japan Vision Conference proceedings,
08600 July 1973.
08700
08800 [Pingle 1972a] Karl K. Pingle, "Hand/Eye Library", Stanford
08900 Artificial Intelligence Laboratory Operating Note 35.1, January,
09000 1972.
09100
09200 [Pingle 1972b] K.K. Pingle and J.M. Tenenbaum, "An Accomodating Edge
09300 Follower", IJCAI-2. Proceedings of the 2nd. International Symposium
09400 on Industrial Robots, May 1972, Chicago, Illinois.
09500
09600 [Quam 1972] L. H. Quam, S. Liebes, Jr., R. B. Tucker, M. J. Hannah,
09700 B. G. Eross, "Computer Interactive Picture Processing", Stanford
09800 Artificial Intelligence Laboratory AIM-166, April 1972.
09900
10000 [Roberts 1963], L.G. Machine perception of three-dimensional solids.
10100 Technical Report No. 315, Lincoln Laboratory, M.I.T. (May)
10200 Also in Optical and Electro-Optical Information Proecesing,
10300 Tippett, J.T. et. al.(Eds.), MIT Press, Cambridge, Mass., 1965,
10400
10500 [Scheinman] V. D. Scheinman, Design of a Computer Manipulator,
10600 Stanford Artificial Intelligence Project, Memo AIM-92, June 1969.
10700
10800 [Sobel] Irwin Sobel, "Camera Models and Machine Perception", Stanford
10900 Artificial Intelligence Project Memo AIM-121, May, 1970.
11000
11100 [Shirai 1971a] "Recognition of Polyhedra with a Range Finder"
11200 Y. Shirai and M. Suwa, Internation Joint Conference on AI, London,
11300 Sept 1971.
11400
11500 [Shirai 1972] "A heterarchical program for Recognition of Polyhedra",
11600 Y. Shirai, Artificial Intelligence Laboratory, MIT, Memo 263.
11700
11800 [Swinehart] D. Swinehart, R. Sproull, "SAIL", Stanford Artificial
11900 Intelligence Laboratory Operating Note 57, November 1969.
12000
12100 [Tenenbaum]
12200 J.M.Tenenbaum,"Accommodation in Computer Vision",
12300 Artificial Intelligence Lab, Stanford University, AIM-134 September 1970.
12400
12500 [Waltz] "Generating Semantic Descriptions from Drawings of Scenes
12600 with Shadows", D.L.Waltz, Artificial Intelligence Laboratory, MIT
12700 AI TR-271.
12800
12900 [Yakimovsky 1972] Y.Yakimovsky and J.A.Feldman,
13000 "A Semantics-Based Decision Theoretic Region Analyzer"
13100 Submitted to Third IJCAI, February,1973
00100 IX. RELEVANT LABORATORY PUBLICATIONS
00200
00300 The following articles published by members of the Stanford
00400 Artificial Intelligence Laboratory are relevant to this proposal.
00500
00600 J. McCarthy, "Computer Control of a Hand and Eye," in Proc. Third
00700 All-Union Conference on Automatic Control (Technical Cybernetics),
00800 Nauka, Moscow, 1967 (Russian).
00900
01000 J. Feldman (with D. Gries), "Translator Writing Systems", Comm. ACM,
01100 February 1968.
01200
01300 J. Feldman (with P. Rovner), "The Leap Language Data Structure",
01400 Proc. IFIP Congress, 1968.
01500
01600 J. McCarthy, L. Earnest, D. Reddy, and P. Vicens, "A Computer with
01700 Hands, Eyes, and Ears", Proc. AFIPS Conf. (FJCC), 1968.
01800
01900 K. Pingle, J. Singer, and W. Wichman, "Computer Control of a
02000 Mechanical Arm through Visual Input", Proc. IFIP Congress 1968.
02100
02200 J. Feldman, G. Feldman, G. Falk, G. Grape, J. Pearlman, I. Sobel, and
02300 J. Tenenbaum, "The Stanford Hand-Eye Project", Proc. International
02400 Conf. on Artificial Intelligence, Washington, D.C., 1969.
02500
02600 J. Feldman (with P. Rovner), "An Algol-based Associative
02700 Language", Comm. ACM, August 1969.
02800
02900 U. Montanari, "Continuous Skeletons from Digitized Images", JACM,
03000 October 1969.
03100
03200 R. Paul, G. Falk, J. Feldman, "The Computer Representation of Simply
03300 Described Scenes", Proc. 2ND Illinois Graphics Conference, Univ.
03400 Illinois, April 1969.
03500
03600 K. Pingle, "Visual Perception by a Computer", in Automatic
03700 Interpretation and Classification of Images, Academic Press, New
03800 York, 1970.
03900
04000 U. Montanari, "A Note on Minimal Length Polygonal Approximation to a
04100 Digitized Contour", Comm. ACM, January 1970.
04200
04300 U. Montanari, "On Limit Properties in Digitization Schemes", JACM,
04400 April 1970.
04500
04600 U. Montanari, "Separable Graphs, Planar Graphs and Web Grammars",
04700 Information and Control, May 1970.
04800
04900 U. Montenari, "Heuristically Guided Search and Chromosome Matching",
05000 J. Artificial Intelligence, Vol. 1, No. 4, December 1970.
05100
05200 G. Falk, "Scene Analysis Based on Imperfect Edge Data", Proc. 2IJCAI,
05300 Brit. Comp. Soc., Sept. 1971.
05400
05500 J. Feldman and R. Sproull, "System Support for the Stanford
05600 Hand-eye System", Proc. 2IJCAI, Brit. Comp. Soc., Sept. 1971.
05700
05800 J. Feldman, et al, "The Use of Vision and Manipulation to Solve the
05900 `Instant Insanity' Puzzle", Proc. 2IJCAI, Brit. Comp. Soc., Sept.
06000 1971.
06100
06200 M. Hueckel, "An Operator which Locates Edges in Digitized Pictures",
06300 JACM, January 1971.
06400
06500
06600 M. Kahn and B. Roth, "The Near-minimum-time Control of Open-loop
06700 Articulated Kinematic Chains", Trans. ASME, Sept. 1971.
06800
06900 U. Montanari, "On the Optimal Detection of Curves in Noisy Pictures",
07000 Comm. ACM, May 1971.
07100
07200 N. Nilsson, "Problem-solving Methods in Artificial Intelligence",
07300 McGraw-Hill, New York, 1971.
07400
07500 R. Paul, "Trajectory Control of a Computer Arm", Proc. 2IJCAI, Brit.
07600 Comp. Soc., Sept. 1971.
07700
07800 K. Pingle and J. Tenenbaum, "An Accomodating Edge Follower", Proc.
07900 2IJCAI, Brit. Comp. Soc., Sept. 1971.
08000
08100 B. Roth, "Design, Kinematics, and Control of Computer-controlled
08200 Manipulators", Proc. 6th All Union Conference on New Problems in
08300 Theory of Machines & Mechanics, Leningrad, Jan. 1971 (in press).
08400
08500 J. Tenenbaum, et, al, "A Laboratory for Hand-eye Research", Proc.
08600 IFIP Congress 1971.
08700
08800 G. Falk, "Interpretation of Imperfect Line Data as a
08900 Three-Dimensional Scene", J. Artificial Intelligence, Vol. 3, No. 2,
09000 1972.
09100
09200 J. Gips, "A New Reversible Figure", Perceptual & Motor Skills, 34,
09300 306, 1972.
09400
09500
09600
09700
09800
09900
10000
10100
10200
10300
10400
10500
10600
10700
10800
10900
11000
11100
11200
11300
11400
11500
11600
11700
11800
11900
12000
12100
12200
12300
12400
12500
00100 X. FILMS
00200
00300 Prints of the following films are available for short-term loan.
00400
00500 1. Art Eisenson and Gary Feldman, "Ellis D. Kroptechev and Zeus, his
00600 Marvelous Time-Sharing System", 16mm black and white with
00700 sound, 15 minutes, March 1967.
00800
00900 2. Gary Feldman, "Butterfinger", 16mm color with sound, 8 minutes,
01000 March 1968.
01100
01200 3. Raj Reddy, Dave Espar and Art Eisenson, "Hear Here", 16mm color
01300 with sound, 15 minutes, March 1969.
01400
01500 4. Gary Feldman and Donald Peiper, "Avoid", 16mm silent, color, 5
01600 minutes, March 1969.
01700
01800 5. Richard Paul and Karl Pingle, "Instant Insanity", 16 mm color,
01900 silent, 6 minutes, August, 1971.
02000
02100 6. Suzanne Kandra, "Motion and Vision", 16 mm color, sound, 22
02200 minutes, November 1972.
02300
02400 7. Karl Pingle, "Automated Pump Assembly by the Stanford Artificial
02500 Intelligence Project," 16mm color, silent, 7 minutes, May 1973.
02600
02700
02800
02900
03000
03100
03200
03300
03400
03500
03600
03700
03800
03900
04000
04100
04200
04300
04400
04500
04600
04700
04800
04900
05000
05100
05200
05300
05400
05500
05600
05700
05800
00100 XI. RECENT REPORTS
00200
00300 The following reports have been published by the Stanford Artificial
00400 Intelligence Laboratory since 1971.
00500
00600
00700 AIM-140, Roger C. Schank, INTENTION, MEMORY, AND COMPUTER
00800 UNDERSTANDING, January 1971, 59 pages.
00900
01000 AIM-141, Bruce G. Buchanan, Edward A. Feigenbaum, and Joshua
01100 Lederberg, THE HEURISTIC DENDRAL PROGRAM FOR EXPLAINING
01200 EMPIRICAL DATA, February 1971, 20 pages.
01300
01400 AIM-142, Robin Milner, AN ALGEBRAIC DEFINITION OF SIMULATION BETWEEN
01500 PROGRAMS, February 1971, 21 pages.
01600
01700 AIM-143. John McCarthy, Arthur Samuel and Artificial Intelligence
01800 Project staff, Edward Feigenbaum and Heuristic Dendral
01900 Project staff, Project Technical Report, MARCH 1971, 80 pages.
02000 (out of print).
02100
02200 AIM-144. Lynn H. Quam, COMPUTER COMPARISON OF PICTURES, May 1971,
02300 120 pages.
02400
02500 AIM-145, Bruce G. Buchanan, Edward A. Feigenbaum, and Joshua
02600 Lederberg, A HEURISTIC PROGRAMMING STUDY OF THEORY FORMATION
02700 IN SCIENCE, June 1971, 41 pages.
02800
02900 AIM-146, Andrei P. Ershov, PARALLEL PROGRAMMING, July 1971, 14 pages.
03000
03100 AIM-147, Robert E. Kling, REASONING BY ANALOGY WITH APPLICATIONS TO
03200 HEURISTIC PROBLEM SOLVING: A CASE STUDY, August 1971,
03300 191 pages.
03400
03500 AIM-148, Edward Ashcroft, Zohar Manna, and Amir Pneuli, DECIDABLE
03600 PROPERTIES OF MONADIC FUNCTIONAL SCHEMAS, July 1971,
03700 10 pages.
03800
03900 AIM-149, Rodney Albert Schmidt, Jr., A STUDY OF THE REAL-TIME CONTROL
04000 OF A COMPUTER-DRIVEN VEHICLE, August 1971, 180 pages.
04100
04200 AIM-150, Robert W. Floyd, TOWARD INTERACTIVE DESIGN OF CORRECT
04300 PROGRAMS, September 1971, 12 pages.
04400
04500 AIM-151, Ralph L. London, CORRECTNESS OF TWO COMPILERS FOR A LISP
04600 SUBSET, October 1971, 41 pages.
04700
04800 AIM-152, A.W. Biermann, ON THE INFERENCE OF TURING MACHINES FROM
04900 SAMPLE COMPUTATIONS, October 1971, 31 pages.
05000
05100 AIM-153, Patrick J. Hayes, THE FRAME PROBLEM AND RELATED PROBLEMS IN
05200 ARTIFICIAL INTELLIGENCE, November 1971, 18 pages.
05300
05400 AIM-154, Zohar Manna, Stephen Ness and Jean Vuillemin, INDUCTIVE
05500 METHODS FOR PROVING PROPERTIES OF PROGRAMS, November 1971,
05600 24 pages.
05700
05800 AIM-155, Jonathan Leonard Ryder, HEURISTIC ANALYSIS OF LARGE TREES AS
05900 GENERATED IN THE GAME OF GO, December 1971, 300 pages.
06000
06100
06200 AIM-156, Kenneth Mark Colby, Franklin Dennis Hilf, Sylvia Weber, and
06300 Helena C. Kraemer, A RESEMBLANCE TEST FOR THE VALIDATION
06400 OF A COMPUTER SIMULATION OF PARANOID PROCESSES,
06500 November 1971, 29 pages.
06600
06700 AIM-157, Yorick Wilks, ONE SMALL HEAD----SOME REMARKS ON THE USE OF
06800 `MODEL' IN LINGUISTICS, December 1971, 17 pages.
06900
07000 AIM-159, J.A. Feldman and Paul C. Shields, TOTAL COMPLEXITY AND
07100 INFERENCE OF BEST PROGRAMS, April 1972.
07200
07300 AIM-160, J. Feldman, AUTOMATIC PROGRAMMING, February 1972, 20 pages.
07400
07500 AIM-161, Y. Wilks, AN ARTIFICIAL INTELLIGENCE APPROACH TO MACHINE
07600 TRANSLATION, February 1972, 44 pages.
07700
07800 AIM-162, Roger Schank, Neil Goldman, Chuck Reiger, Chris Reisbeck,
07900 PRIMITIVE CONCEPTS UNDERLYING VERBS OF THOUGHT,
08000 April 1972, 102 pages.
08100
08200 AIM-163, J.M. Cadiou, RECURSIVE DEFINITIONS OF PARTIAL FUNCTIONS AND
08300 THEIR COMPUTATIONS, April 1972, 160 pages.
08400
08500 AIM-164, Zohar Manna and Jean Vuillemin, FIXPOINT APPROACH TO THE
08600 THEORY OF COMPUTATION, April 1972, 29 pages.
08700
08800 AIM-165, D,A, Bochvar, TWO PAPERS ON PARTIAL PREDICATE CALCULUS,
08900 April 1972, 50 pages.
09000
09100 AIM 166, Lynn H. Quam, Sidney Liebes, Jr., Robert B. Tucker, Marsha
09200 Jo Hannah, Botond G. Eross, COMPUTER INTERACTIVE PICTURE
09300 PROCESSING, April 1972, 40 pages.
09400
09500 AIM-167, Ashok Chandra, EFFICIENT COMPILATION OF LINEAR RECURSIVE
09600 PROGRAMS, June 1972, 43 pages.
09700
09800 AIM-168, Shigeru Igarashi, ADMISSIBILITY OF FIXED-POINT INDUCTION IN
09900 FIRST-ORDER LOGIC OF TYPED THEORIES, May 1972, 40 pages.
10000
10100 AIM-169, Robin Milner, LOGIC FOR COMPUTABLE FUNCTIONS. DESCRIPTION
10200 OF A MACHINE IMPLEMENTATION, May 1972, 36 pages.
10300
10400 AIM-170, Yorick Wilks, LAKOFF ON LINGUISTICS AND NATURAL LOGIC,
10500 June 1972, 19 pages.
10600
10700 AIM-171, Roger Schank, ADVERBS AND BELIEF, June 1972, 30 pages.
10800
10900 AIM-172, Sylvia Weber Russell, SEMANTIC CATEGORIES OF NOMINALS FOR
11000 CONCEPTUAL DEPENDENCY ANALYSIS OF NATURAL LANGUAGE, July 1972,
11100 64 pages.
11200
11300 AIM-173, Gerald Jacob Agin, REPRESENTATION AND DESCRIPTION OF CURVED
11400 OBJECTS, October 1972,
11500
11600 AIM-174, Morris, Francis Lockwood, CORRECTNESS OF TRANSLATIONS OF
11700 PROGRAMMING LANGUAGES -- AN ALGEBRAIC APPROACH, August 1972,
11800 124 p.
11900
12000 AIM-175, Tanaka, Hozumi, HADAMARD TRANSFORM FOR SPEECH WAVE ANALYSIS,
12100 August 1972, 34 pages.
12200
00100 AIM-176, Feldman, J.A., Low, J.R., Swinehart, D.C., Taylor, R.H.,
00200 RECENT DEVELOPMENTS IN SAIL. AN ALGOL-BASED LANGUAGE FOR
00300 ARTIFICIAL INTELLIGENCE, (forthcoming).
00400
00500 AIM-177, Paul, Richard, MODELLING, TRAJECTORY CALCULATION AND SERVOING
00600 OF A COMPUTER CONTROLLED ARM, (forthcoming)
00700
00800
00900 AIM-178, Gill, Aharon, VISUAL FEEDBACK AND RELATED PROBLEMS IN COMPUTER
01000 CONTROLLED HAND EYE COORDINATION, October 1972, 134 pages.
01100
01200 AIM-179, Baumgart, Bruce G., WINGED EDGE POLYHEDRON REPRESENTATION,
01300 October 1972, 46 pages.
01400
01500 AIM-180, Bajcsy, Ruzena, COMPUTER IDENTIFICATION OF TEXTURED VISUAL
01600 SCENES, October 1972, 156 pages.
01700
01800
01900
02000
02100
02200
02300
02400
02500
02600
02700
02800
02900
03000
03100
03200
03300
03400
03500
03600
03700
03800
03900
04000
04100
04200
04300
04400
04500
04600
04700
04800
04900
05000
05100
05200
05300
05400
05500